import re

# findall: 匹配字符串中所有的符合正则的内容
lst = re.findall(r"\d+", "我的电话号码是：10086，xx的电话号码是：10010")
print(lst)  # 输出['10086', '10010']，以列表形式展示

# finditer: 匹配字符串中所有的内容，返回的是迭代器，从迭代器中拿到内容需要.group()
it = re.finditer(r"\d+", "我的电话号码是：10086，xx的电话号码是：10010")
for i in it:
    print(i.group())  # 有格式的换行输出10086 \n 10010

# search，找到一个结果就返回，返回的结果是match对象，拿数据需要.group
s = re.search(r"\d+", "我的电话号码是：10086，xx的电话号码是：10010")
print(s.group())  # 输出10086

# match是从头开始匹配
# m = re.match(r"\d+", "我的电话号码是：10086，xx的电话号码是：10010")
# print(s.group())  # 报错, 用的不是特别多，是从头开始匹配

# 预加载正则表达式:
obj = re.compile(r"\d+")
ret = re.finditer("我的电话号码是：10086，xx的电话号码是：10010")
for i in ret:
    print(i.group())  # 有格式的换行输出10086 \n 10010

